1 Setup

highlight.snp.df <- read.table(paste0('../../', '../motif_analysis/output/first_try/report//summary_table.txt'), header = T, sep = '\t')
rdss <- strsplit('output/heart_motif_snp-SIPA1L3/Adrenal_Gland/fine-map__susie/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Adrenal_Gland/fine-map__susie_pv_0.01/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Adrenal_Gland/fine-map__susie_pv_0.001/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Adrenal_Gland/fine-map__susie_pv_1/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Artery_Aorta/fine-map__susie/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Artery_Aorta/fine-map__susie_pv_0.01/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Artery_Aorta/fine-map__susie_pv_0.001/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Artery_Aorta/fine-map__susie_pv_1/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Heart_Left_Ventricle/fine-map__susie/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Heart_Left_Ventricle/fine-map__susie_pv_0.01/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Heart_Left_Ventricle/fine-map__susie_pv_0.001/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Heart_Left_Ventricle/fine-map__susie_pv_1/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Heart_Atrial_Appendage/fine-map__susie/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Heart_Atrial_Appendage/fine-map__susie_pv_0.01/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Heart_Atrial_Appendage/fine-map__susie_pv_0.001/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Heart_Atrial_Appendage/fine-map__susie_pv_1/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Muscle_Skeletal/fine-map__susie/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Muscle_Skeletal/fine-map__susie_pv_0.01/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Muscle_Skeletal/fine-map__susie_pv_0.001/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Muscle_Skeletal/fine-map__susie_pv_1/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Esophagus_Mucosa/fine-map__susie/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Esophagus_Mucosa/fine-map__susie_pv_0.01/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Esophagus_Mucosa/fine-map__susie_pv_0.001/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Esophagus_Mucosa/fine-map__susie_pv_1/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Artery_Coronary/fine-map__susie/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Artery_Coronary/fine-map__susie_pv_0.01/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Artery_Coronary/fine-map__susie_pv_0.001/ENSG00000105738.6.rds,output/heart_motif_snp-SIPA1L3/Artery_Coronary/fine-map__susie_pv_1/ENSG00000105738.6.rds', ',')[[1]]
gene <- 'ENSG00000105738.6'
motif_prefix <- paste0('../../', '../motif_analysis/output/first_try/report//motif_logo/')
cols <- c('gene_name', 'motif_snp', 'r', 'motif_id', 'motif_name', 'motif_qval', 'motif_snp.pos', 'motif.length', 'strand', 'tissue', 'pip')
tissue <- basename(dirname(dirname(rdss[1])))
highlight.snp <- highlight.snp.df[highlight.snp.df$ensembl_gene_id == str_match(gene, '([A-Za-z0-9]+).[A-Za-z0-9]+')[, 2] & highlight.snp.df$tissue == tissue, ]
idx <- highlight.snp$idx[1]
mash <- paste0('../../', '../motif_analysis/output/first_try/report//mash_plot/', '/', 'mash__idx', idx, '.png')
cat('
', paste0('![](', mash, ')'), '
', '
')
highlight.snp.df$strand <- as.character(highlight.snp.df$strand)
highlight.snp.df$strand[highlight.snp.df$strand == '-'] <- 'negative'
highlight.snp.df$strand[highlight.snp.df$strand == '+'] <- 'positive'

2 Results

df.purity <- data.frame()
hitted <- data.frame()
mytheme <- gridExtra::ttheme_default(
    core = list(fg_params=list(cex = .7)),
    colhead = list(fg_params=list(cex = .7)),
    rowhead = list(fg_params=list(cex = .7)))
for(rds in rdss) {
  tissue <- basename(dirname(dirname(rds)))
  method <- basename(dirname(rds))
  out <- readRDS(paste0('../../', rds))
  cs0 <- susieR::susie_get_CS(out$fitted, t(data.matrix(out$X[, -ncol(out$X)])), min_abs_corr = 0)
  if(nrow(cs0$purity) > 0) {
    cs0$purity <- round(cs0$purity, digits = 2)
    cs0$purity$tissue <- tissue
  }
  a <- cs0$purity
  if(nrow(a) == 0) {
    a <- data.frame(NA)
  }
  tb0 <- tableGrob(a, widths=unit(rep(1/ncol(a), ncol(a)),"npc")-unit(1,"line"), theme = mytheme)
  cs <- susieR::susie_get_CS(out$fitted, t(data.matrix(out$X[, -ncol(out$X)])), coverage = 0.9)
  if(nrow(cs$purity) > 0) {
    cs$purity$tissue <- tissue
    df.purity <- rbind(df.purity, cs$purity)
  }
  pip <- susieR::susie_get_PIP(out$fitted, cs$cs_index)
  coordinate <- as.numeric(str_match(out$X$SNP_ID, '[0-9]+_([0-9]+)_[A-Za-z]+_[A-Za-z]+_[A-Za-z0-9]+')[, 2])
  df <- data.frame(coordinate = coordinate, pip = pip)
  df$cs <- -1
  if(length(cs$cs_index) != 0) {
    for(i in 1 : length(cs$cs_index)) {
      df$cs[cs$cs[[i]]] <- cs$cs_index[i]
    }
  }
  highlight.snp <- highlight.snp.df[highlight.snp.df$ensembl_gene_id == str_match(gene, '([A-Za-z0-9]+).[A-Za-z0-9]+')[, 2] & highlight.snp.df$tissue == tissue, ]
  leading.snp <- as.numeric(str_match(highlight.snp$leading_eqtl[1], '[0-9]+_([0-9]+)_[A-Za-z]+_[A-Za-z]+_[A-Za-z0-9]+')[, 2])
  candidate.snp <- as.numeric(str_match(highlight.snp$motif_snp, '[0-9]+_([0-9]+)_[A-Za-z]+_[A-Za-z]+_[A-Za-z0-9]+')[, 2])
  df$type <- 'No'
  df$type[df$coordinate %in% candidate.snp] <- 'Motif SNP'
  df$type[df$coordinate %in% leading.snp] <- 'Leading SNP'
  df$cs <- factor(df$cs)
  p <- ggplot(df)
  p <- p + ggtitle(paste0(tissue, '
 PIP (red line: leadingSNP; blue line: candidateSNP)'))
  p <- p + geom_vline(xintercept = candidate.snp, color = 'blue')
  p <- p + geom_vline(xintercept = leading.snp, color = 'red', linetype = 2) + theme(legend.position = "bottom")
  p <- p + geom_point(aes(x = coordinate, y = pip, color = cs, shape = type), size = 3)
  highlight.snp$pip <- pip[match(as.numeric(str_match(highlight.snp$motif_snp, '[0-9]+_([0-9]+)_[A-Za-z]+_[A-Za-z]+_[A-Za-z0-9]+')[, 2]), coordinate)]
  hitted.sub <- highlight.snp[candidate.snp %in% coordinate[unlist(cs$cs)], ]
  hitted <- rbind(hitted, hitted.sub)
  e <- plot_grid(plotlist = list(p, tb0), ncol = 1, rel_heights = c(3/4, 1/4))
  cat('##', tissue, method, '
', '
')
  subchunkify(e, fig_asp = .8)
  cat('
', '
')
  if(nrow(hitted.sub) != 0) {
    hitted.sub$motif_logo <- paste0('![](', motif_prefix, '/', hitted.sub$dbname, '__', hitted.sub$motif_id, '.png', ')')
    hitted.sub <- hitted.sub[, c(cols, 'motif_logo')]
    print(hitted.sub %>% kable(format = "html", col.names = colnames(hitted.sub)) %>%
    kable_styling() %>%
    kableExtra::scroll_box(width = "100%", height = "500px"))
  }
}

2.1 Adrenal_Gland fine-map__susie

gene_name motif_snp r motif_id motif_name motif_qval motif_snp.pos motif.length strand tissue pip motif_logo
749 SIPA1L3 19_38664097_C_T_b37 0.9999688 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Adrenal_Gland 0.2191132
750 SIPA1L3 19_38664097_C_T_b37 0.9999688 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Adrenal_Gland 0.2191132

2.2 Adrenal_Gland fine-map__susie_pv_0.01

2.3 Adrenal_Gland fine-map__susie_pv_0.001

2.4 Adrenal_Gland fine-map__susie_pv_1

gene_name motif_snp r motif_id motif_name motif_qval motif_snp.pos motif.length strand tissue pip motif_logo
749 SIPA1L3 19_38664097_C_T_b37 0.9999688 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Adrenal_Gland 0.2443349
750 SIPA1L3 19_38664097_C_T_b37 0.9999688 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Adrenal_Gland 0.2443349

2.5 Artery_Aorta fine-map__susie

2.6 Artery_Aorta fine-map__susie_pv_0.01

2.7 Artery_Aorta fine-map__susie_pv_0.001

2.8 Artery_Aorta fine-map__susie_pv_1

2.9 Heart_Left_Ventricle fine-map__susie

gene_name motif_snp r motif_id motif_name motif_qval motif_snp.pos motif.length strand tissue pip motif_logo
280 SIPA1L3 19_38664097_C_T_b37 0.9999638 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Heart_Left_Ventricle 0.3687054
281 SIPA1L3 19_38664097_C_T_b37 0.9999638 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Heart_Left_Ventricle 0.3687054

2.10 Heart_Left_Ventricle fine-map__susie_pv_0.01

gene_name motif_snp r motif_id motif_name motif_qval motif_snp.pos motif.length strand tissue pip motif_logo
280 SIPA1L3 19_38664097_C_T_b37 0.9999638 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Heart_Left_Ventricle 0.3371147
281 SIPA1L3 19_38664097_C_T_b37 0.9999638 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Heart_Left_Ventricle 0.3371147

2.11 Heart_Left_Ventricle fine-map__susie_pv_0.001

2.12 Heart_Left_Ventricle fine-map__susie_pv_1

gene_name motif_snp r motif_id motif_name motif_qval motif_snp.pos motif.length strand tissue pip motif_logo
280 SIPA1L3 19_38664097_C_T_b37 0.9999638 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Heart_Left_Ventricle 0.3711605
281 SIPA1L3 19_38664097_C_T_b37 0.9999638 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Heart_Left_Ventricle 0.3711605

2.13 Heart_Atrial_Appendage fine-map__susie

gene_name motif_snp r motif_id motif_name motif_qval motif_snp.pos motif.length strand tissue pip motif_logo
126 SIPA1L3 19_38664097_C_T_b37 0.9999398 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Heart_Atrial_Appendage 0.3452307
127 SIPA1L3 19_38664097_C_T_b37 0.9999398 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Heart_Atrial_Appendage 0.3452307

2.14 Heart_Atrial_Appendage fine-map__susie_pv_0.01

gene_name motif_snp r motif_id motif_name motif_qval motif_snp.pos motif.length strand tissue pip motif_logo
126 SIPA1L3 19_38664097_C_T_b37 0.9999398 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Heart_Atrial_Appendage 0.226194
127 SIPA1L3 19_38664097_C_T_b37 0.9999398 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Heart_Atrial_Appendage 0.226194

2.15 Heart_Atrial_Appendage fine-map__susie_pv_0.001

2.16 Heart_Atrial_Appendage fine-map__susie_pv_1

gene_name motif_snp r motif_id motif_name motif_qval motif_snp.pos motif.length strand tissue pip motif_logo
126 SIPA1L3 19_38664097_C_T_b37 0.9999398 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Heart_Atrial_Appendage 0.3536357
127 SIPA1L3 19_38664097_C_T_b37 0.9999398 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Heart_Atrial_Appendage 0.3536357

2.17 Muscle_Skeletal fine-map__susie

gene_name motif_snp r motif_id motif_name motif_qval motif_snp.pos motif.length strand tissue pip motif_logo
441 SIPA1L3 19_38664097_C_T_b37 0.9997436 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Muscle_Skeletal 0.2739955
442 SIPA1L3 19_38664097_C_T_b37 0.9997436 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Muscle_Skeletal 0.2739955

2.18 Muscle_Skeletal fine-map__susie_pv_0.01

gene_name motif_snp r motif_id motif_name motif_qval motif_snp.pos motif.length strand tissue pip motif_logo
441 SIPA1L3 19_38664097_C_T_b37 0.9997436 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Muscle_Skeletal 0.2456159
442 SIPA1L3 19_38664097_C_T_b37 0.9997436 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Muscle_Skeletal 0.2456159

2.19 Muscle_Skeletal fine-map__susie_pv_0.001

2.20 Muscle_Skeletal fine-map__susie_pv_1

gene_name motif_snp r motif_id motif_name motif_qval motif_snp.pos motif.length strand tissue pip motif_logo
441 SIPA1L3 19_38664097_C_T_b37 0.9997436 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Muscle_Skeletal 0.2772606
442 SIPA1L3 19_38664097_C_T_b37 0.9997436 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Muscle_Skeletal 0.2772606

2.21 Esophagus_Mucosa fine-map__susie

2.22 Esophagus_Mucosa fine-map__susie_pv_0.01

2.23 Esophagus_Mucosa fine-map__susie_pv_0.001

2.24 Esophagus_Mucosa fine-map__susie_pv_1

2.25 Artery_Coronary fine-map__susie

2.26 Artery_Coronary fine-map__susie_pv_0.01

2.27 Artery_Coronary fine-map__susie_pv_0.001

2.28 Artery_Coronary fine-map__susie_pv_1

3 Summary of SNPs in CS

if(nrow(hitted) != 0) {
  hitted$motif_logo <- paste0('![](', motif_prefix, '/', hitted$dbname, '__', hitted$motif_id, '.png', ')')
  hitted <- hitted[, c(cols, 'motif_logo')]
  hitted %>% kable(format = "html", col.names = colnames(hitted)) %>%
  kable_styling() %>%
  kableExtra::scroll_box(width = "100%", height = "500px")
}
gene_name motif_snp r motif_id motif_name motif_qval motif_snp.pos motif.length strand tissue pip motif_logo
749 SIPA1L3 19_38664097_C_T_b37 0.9999688 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Adrenal_Gland 0.2191132
750 SIPA1L3 19_38664097_C_T_b37 0.9999688 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Adrenal_Gland 0.2191132
7491 SIPA1L3 19_38664097_C_T_b37 0.9999688 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Adrenal_Gland 0.2443349
7501 SIPA1L3 19_38664097_C_T_b37 0.9999688 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Adrenal_Gland 0.2443349
280 SIPA1L3 19_38664097_C_T_b37 0.9999638 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Heart_Left_Ventricle 0.3687054
281 SIPA1L3 19_38664097_C_T_b37 0.9999638 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Heart_Left_Ventricle 0.3687054
2801 SIPA1L3 19_38664097_C_T_b37 0.9999638 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Heart_Left_Ventricle 0.3371147
2811 SIPA1L3 19_38664097_C_T_b37 0.9999638 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Heart_Left_Ventricle 0.3371147
2802 SIPA1L3 19_38664097_C_T_b37 0.9999638 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Heart_Left_Ventricle 0.3711605
2812 SIPA1L3 19_38664097_C_T_b37 0.9999638 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Heart_Left_Ventricle 0.3711605
126 SIPA1L3 19_38664097_C_T_b37 0.9999398 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Heart_Atrial_Appendage 0.3452307
127 SIPA1L3 19_38664097_C_T_b37 0.9999398 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Heart_Atrial_Appendage 0.3452307
1261 SIPA1L3 19_38664097_C_T_b37 0.9999398 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Heart_Atrial_Appendage 0.2261940
1271 SIPA1L3 19_38664097_C_T_b37 0.9999398 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Heart_Atrial_Appendage 0.2261940
1262 SIPA1L3 19_38664097_C_T_b37 0.9999398 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Heart_Atrial_Appendage 0.3536357
1272 SIPA1L3 19_38664097_C_T_b37 0.9999398 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Heart_Atrial_Appendage 0.3536357
441 SIPA1L3 19_38664097_C_T_b37 0.9997436 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Muscle_Skeletal 0.2739955
442 SIPA1L3 19_38664097_C_T_b37 0.9997436 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Muscle_Skeletal 0.2739955
4411 SIPA1L3 19_38664097_C_T_b37 0.9997436 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Muscle_Skeletal 0.2456159
4421 SIPA1L3 19_38664097_C_T_b37 0.9997436 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Muscle_Skeletal 0.2456159
4412 SIPA1L3 19_38664097_C_T_b37 0.9997436 SP1_HUMAN.H11MO.0.A NA 0.0120 14 22 negative Muscle_Skeletal 0.2772606
4422 SIPA1L3 19_38664097_C_T_b37 0.9997436 SP1_HUMAN.H11MO.0.A NA 0.0127 18 22 positive Muscle_Skeletal 0.2772606